Autogenerated HTML docs for v2.33.0-328-g8b7c1
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html index 602f926..a0f5c27 100644 --- a/MyFirstObjectWalk.html +++ b/MyFirstObjectWalk.html
@@ -1512,7 +1512,7 @@ help understand. In our case, that means we omit trees and blobs not directly referenced by <code>HEAD</code> or <code>HEAD</code>'s history, because we begin the walk with only <code>HEAD</code> in the <code>pending</code> list.)</p></div> -<div class="paragraph"><p>First, we’ll need to <code>#include "list-objects-filter-options.h</code>" and set up the +<div class="paragraph"><p>First, we’ll need to <code>#include "list-objects-filter-options.h"</code> and set up the <code>struct list_objects_filter_options</code> at the top of the function.</p></div> <div class="listingblock"> <div class="content"> @@ -1594,7 +1594,7 @@ while ((oid = oidset_iter_next(&oit))) omitted_count++; - printf("commits %d\nblobs %d\ntags %d\ntrees%d\nomitted %d\n", + printf("commits %d\nblobs %d\ntags %d\ntrees %d\nomitted %d\n", commit_count, blob_count, tag_count, tree_count, omitted_count);</code></pre> </div></div> <div class="paragraph"><p>By running your walk with and without the filter, you should find that the total @@ -1717,7 +1717,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-12-08 16:10:07 PST + 2021-09-10 12:51:28 PDT </div> </div> </body>
diff --git a/MyFirstObjectWalk.txt b/MyFirstObjectWalk.txt index 2d10eea..45eb84d 100644 --- a/MyFirstObjectWalk.txt +++ b/MyFirstObjectWalk.txt
@@ -691,7 +691,7 @@ referenced by `HEAD` or `HEAD`'s history, because we begin the walk with only `HEAD` in the `pending` list.) -First, we'll need to `#include "list-objects-filter-options.h`" and set up the +First, we'll need to `#include "list-objects-filter-options.h"` and set up the `struct list_objects_filter_options` at the top of the function. ---- @@ -779,7 +779,7 @@ while ((oid = oidset_iter_next(&oit))) omitted_count++; - printf("commits %d\nblobs %d\ntags %d\ntrees%d\nomitted %d\n", + printf("commits %d\nblobs %d\ntags %d\ntrees %d\nomitted %d\n", commit_count, blob_count, tag_count, tree_count, omitted_count); ----
diff --git a/RelNotes/2.34.0.txt b/RelNotes/2.34.0.txt index 4cb0b8f..d21a63e 100644 --- a/RelNotes/2.34.0.txt +++ b/RelNotes/2.34.0.txt
@@ -14,6 +14,26 @@ * The userdiff pattern for "java" language has been updated. + * "git rebase" by default skips changes that are equivalent to + commits that are already in the history the branch is rebased onto; + give messages when this happens to let the users be aware of + skipped commits, and also teach them how to tell "rebase" to keep + duplicated changes. + + * The advice message that "git cherry-pick" gives when it asks + conflicted replay of a commit to be resolved by the end user has + been updated. + + * After "git clone --recurse-submodules", all submodules are cloned + but they are not by default recursed into by other commands. With + submodule.stickyRecursiveClone configuration set, submodule.recurse + configuration is set to true in a repository created by "clone" + with "--recurse-submodules" option. + + * The logic for auto-correction of misspelt subcommands learned to go + interactive when the help.autocorrect configuration variable is set + to 'prompt'. + Performance, Internal Implementation, Development Support etc. @@ -48,6 +68,12 @@ of the commit-graph, when available, to determine if a commit is reachable from any of the existing refs. + * "git fetch --quiet" optimization to avoid useless computation of + info that will never be displayed. + + * Callers from older advice_config[] based API has been updated to + use the newer advice_if_enabled() and advice_enabled() API. + Fixes since v2.33 ----------------- @@ -115,6 +141,33 @@ corrected. (merge c93ca46cf5 sg/column-nl later to maint). + * "git upload-pack" which runs on the other side of "git fetch" + forgot to take the ref namespaces into account when handling + want-ref requests. + (merge 53a66ec37c ka/want-ref-in-namespace later to maint). + + * The sparse-index support can corrupt the index structure by storing + a stale and/or uninitialized data, which has been corrected. + (merge d9e9b44d7a jh/sparse-index-resize-fix later to maint). + + * Buggy tests could damage repositories outside the throw-away test + area we created. We now by default export GIT_CEILING_DIRECTORIES + to limit the damage from such a stray test. + (merge 614c3d8f2e sg/set-ceiling-during-tests later to maint). + + * Even when running "git send-email" without its own threaded + discussion support, a threading related header in one message is + carried over to the subsequent message to result in an unwanted + threading, which has been corrected. + (merge e082113484 mh/send-email-reset-in-reply-to later to maint). + + * The output from "git fast-export", when its anonymization feature + is in use, showed an annotated tag incorrectly. + (merge 2f040a9671 tk/fast-export-anonymized-tag-fix later to maint). + + * Doc update plus improved error reporting. + (merge 1e93770888 jk/log-warn-on-bogus-encoding later to maint). + * Other code cleanup, docfix, build fix, etc. (merge 1d9c8daef8 ab/bundle-doc later to maint). (merge 81483fe613 en/merge-strategy-docs later to maint). @@ -133,3 +186,11 @@ (merge 5146c2f148 mh/credential-leakfix later to maint). (merge 1549577338 dd/t6300-wo-gpg-fix later to maint). (merge 66e905b7dd rs/xopen-reports-open-failures later to maint). + (merge 469888e6a5 es/walken-tutorial-fix later to maint). + (merge 88682b016d ba/object-info later to maint). + (merge b45c172e51 ab/gc-log-rephrase later to maint). + (merge ccdd5d1eb1 ab/mailmap-leakfix later to maint). + (merge 6540b71614 cb/remote-ndebug-fix later to maint). + (merge e4f8d27585 rs/show-branch-simplify later to maint). + (merge e124ecf7f7 rs/archive-use-object-id later to maint). + (merge cebead1ebf cb/ci-build-pedantic later to maint).
diff --git a/git-config.html b/git-config.html index f442117..496469a 100644 --- a/git-config.html +++ b/git-config.html
@@ -1967,6 +1967,15 @@ </p> </dd> <dt class="hdlist1"> +skippedCherryPicks +</dt> +<dd> +<p> + Shown when <a href="git-rebase.html">git-rebase(1)</a> skips a commit that has already + been cherry-picked onto the upstream branch. +</p> +</dd> +<dt class="hdlist1"> statusAheadBehind </dt> <dd> @@ -5956,7 +5965,7 @@ </dt> <dd> <p> - Specifies the default encoding to use for displaying of + Specifies the default character encoding to use for displaying of file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>. It can be overridden by setting the <em>encoding</em> attribute for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>). @@ -6168,14 +6177,38 @@ <dd> <p> If git detects typos and can identify exactly one valid command similar - to the error, git will automatically run the intended command after - waiting a duration of time defined by this configuration value in - deciseconds (0.1 sec). If this value is 0, the suggested corrections - will be shown, but not executed. If it is a negative integer, or - "immediate", the suggested command - is run immediately. If "never", suggestions are not shown at all. The - default value is zero. + to the error, git will try to suggest the correct command or even + run the suggestion automatically. Possible config values are: </p> +<div class="ulist"><ul> +<li> +<p> +0 (default): show the suggested command. +</p> +</li> +<li> +<p> +positive number: run the suggested command after specified +deciseconds (0.1 sec). +</p> +</li> +<li> +<p> +"immediate": run the suggested command immediately. +</p> +</li> +<li> +<p> +"prompt": show the suggestion and prompt for confirmation to run +the command. +</p> +</li> +<li> +<p> +"never": don’t run or show any suggested command. +</p> +</li> +</ul></div> </dd> <dt class="hdlist1"> help.htmlPath @@ -10021,13 +10054,16 @@ If you have multiple hideRefs values, later entries override earlier ones (and entries in more-specific config files override less-specific ones).</p></div> <div class="paragraph"><p>If a namespace is in use, the namespace prefix is stripped from each -reference before it is matched against <code>transfer.hiderefs</code> patterns. -For example, if <code>refs/heads/master</code> is specified in <code>transfer.hideRefs</code> and +reference before it is matched against <code>transfer.hiderefs</code> patterns. In +order to match refs before stripping, add a <code>^</code> in front of the ref name. If +you combine <code>!</code> and <code>^</code>, <code>!</code> must be specified first.</p></div> +<div class="paragraph"><p>For example, if <code>refs/heads/master</code> is specified in <code>transfer.hideRefs</code> and the current namespace is <code>foo</code>, then <code>refs/namespaces/foo/refs/heads/master</code> -is omitted from the advertisements but <code>refs/heads/master</code> and -<code>refs/namespaces/bar/refs/heads/master</code> are still advertised as so-called -"have" lines. In order to match refs before stripping, add a <code>^</code> in front of -the ref name. If you combine <code>!</code> and <code>^</code>, <code>!</code> must be specified first.</p></div> +is omitted from the advertisements. If <code>uploadpack.allowRefInWant</code> is set, +<code>upload-pack</code> will treat <code>want-ref refs/heads/master</code> in a protocol v2 +<code>fetch</code> command as if <code>refs/namespaces/foo/refs/heads/master</code> did not exist. +<code>receive-pack</code>, on the other hand, will still advertise the object id the +ref is pointing to without mentioning its name (a so-called ".have" line).</p></div> <div class="paragraph"><p>Even if you hide refs, a client may still be able to steal the target objects via the techniques described in the "SECURITY" section of the <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s best to keep private data in a
diff --git a/git-diff-tree.html b/git-diff-tree.html index 07db999..b7f9a5e 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html
@@ -2207,14 +2207,16 @@ </dt> <dd> <p> - The commit objects record the encoding used for the log message + Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in <code>X</code> and we are outputting in <code>X</code>, we will output the object verbatim; this means that invalid sequences in the original - commit may be copied to the output. + commit may be copied to the output. Likewise, if iconv(3) fails + to convert the commit, we will output the original object + verbatim, along with a warning. </p> </dd> <dt class="hdlist1">
diff --git a/git-log.html b/git-log.html index fdafa14..f2d8a3a 100644 --- a/git-log.html +++ b/git-log.html
@@ -2155,14 +2155,16 @@ </dt> <dd> <p> - The commit objects record the encoding used for the log message + Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in <code>X</code> and we are outputting in <code>X</code>, we will output the object verbatim; this means that invalid sequences in the original - commit may be copied to the output. + commit may be copied to the output. Likewise, if iconv(3) fails + to convert the commit, we will output the original object + verbatim, along with a warning. </p> </dd> <dt class="hdlist1">
diff --git a/git-rebase.html b/git-rebase.html index 7e01202..554e813 100644 --- a/git-rebase.html +++ b/git-rebase.html
@@ -815,9 +815,10 @@ remain the checked-out branch.</p></div> <div class="paragraph"><p>If the upstream branch already contains a change you have made (e.g., because you mailed a patch which was applied upstream), then that commit -will be skipped. For example, running <code>git rebase master</code> on the -following history (in which <code>A'</code> and <code>A</code> introduce the same set of changes, -but have different committer information):</p></div> +will be skipped and warnings will be issued (if the <code>merge</code> backend is +used). For example, running <code>git rebase master</code> on the following +history (in which <code>A'</code> and <code>A</code> introduce the same set of changes, but +have different committer information):</p></div> <div class="listingblock"> <div class="content"> <pre><code> A---B---C topic @@ -1089,7 +1090,10 @@ <div class="paragraph"><p>By default (or if <code>--no-reapply-cherry-picks</code> is given), these commits will be automatically dropped. Because this necessitates reading all upstream commits, this can be expensive in repos with a large number -of upstream commits that need to be read.</p></div> +of upstream commits that need to be read. When using the <code>merge</code> +backend, warnings will be issued for each dropped commit (unless +<code>--quiet</code> is given). Advice will also be issued unless +<code>advice.skippedCherryPicks</code> is set to false (see <a href="git-config.html">git-config(1)</a>).</p></div> <div class="paragraph"><p><code>--reapply-cherry-picks</code> allows rebase to forgo reading all upstream commits, potentially improving performance.</p></div> <div class="paragraph"><p>See also INCOMPATIBLE OPTIONS below.</p></div> @@ -2789,7 +2793,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-08-30 16:49:46 PDT + 2021-09-10 12:51:28 PDT </div> </div> </body>
diff --git a/git-rebase.txt b/git-rebase.txt index 3f1030d..506345c 100644 --- a/git-rebase.txt +++ b/git-rebase.txt
@@ -79,9 +79,10 @@ If the upstream branch already contains a change you have made (e.g., because you mailed a patch which was applied upstream), then that commit -will be skipped. For example, running `git rebase master` on the -following history (in which `A'` and `A` introduce the same set of changes, -but have different committer information): +will be skipped and warnings will be issued (if the `merge` backend is +used). For example, running `git rebase master` on the following +history (in which `A'` and `A` introduce the same set of changes, but +have different committer information): ------------ A---B---C topic @@ -312,7 +313,10 @@ By default (or if `--no-reapply-cherry-picks` is given), these commits will be automatically dropped. Because this necessitates reading all upstream commits, this can be expensive in repos with a large number -of upstream commits that need to be read. +of upstream commits that need to be read. When using the `merge` +backend, warnings will be issued for each dropped commit (unless +`--quiet` is given). Advice will also be issued unless +`advice.skippedCherryPicks` is set to false (see linkgit:git-config[1]). + `--reapply-cherry-picks` allows rebase to forgo reading all upstream commits, potentially improving performance.
diff --git a/git-rev-list.html b/git-rev-list.html index c378f7c..8106773 100644 --- a/git-rev-list.html +++ b/git-rev-list.html
@@ -2275,14 +2275,16 @@ </dt> <dd> <p> - The commit objects record the encoding used for the log message + Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in <code>X</code> and we are outputting in <code>X</code>, we will output the object verbatim; this means that invalid sequences in the original - commit may be copied to the output. + commit may be copied to the output. Likewise, if iconv(3) fails + to convert the commit, we will output the original object + verbatim, along with a warning. </p> </dd> <dt class="hdlist1">
diff --git a/git-show.html b/git-show.html index ff15fe1..d908ad6 100644 --- a/git-show.html +++ b/git-show.html
@@ -841,14 +841,16 @@ </dt> <dd> <p> - The commit objects record the encoding used for the log message + Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in <code>X</code> and we are outputting in <code>X</code>, we will output the object verbatim; this means that invalid sequences in the original - commit may be copied to the output. + commit may be copied to the output. Likewise, if iconv(3) fails + to convert the commit, we will output the original object + verbatim, along with a warning. </p> </dd> <dt class="hdlist1">
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html index e716c8c..cd48288 100644 --- a/howto/coordinate-embargoed-releases.html +++ b/howto/coordinate-embargoed-releases.html
@@ -873,7 +873,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:56 PDT + 2021-09-10 12:52:20 PDT </div> </div> </body>
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index ab7107f..47dfcf3 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:56 PDT + 2021-09-10 12:52:20 PDT </div> </div> </body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index e2a81b9..814fd3b 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html
@@ -1469,7 +1469,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:56 PDT + 2021-09-10 12:52:20 PDT </div> </div> </body>
diff --git a/howto/new-command.html b/howto/new-command.html index 99ac5fa..80a7181 100644 --- a/howto/new-command.html +++ b/howto/new-command.html
@@ -863,7 +863,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:50 PDT + 2021-09-10 12:52:16 PDT </div> </div> </body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index d840082..58eeb9e 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html
@@ -895,7 +895,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:55 PDT + 2021-09-10 12:52:20 PDT </div> </div> </body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 1cf354a..54a6756 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:55 PDT + 2021-09-10 12:52:20 PDT </div> </div> </body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index 1b3bacf..888db18 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:54 PDT + 2021-09-10 12:52:19 PDT </div> </div> </body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index ba02061..e496044 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:55 PDT + 2021-09-10 12:52:20 PDT </div> </div> </body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 64a4044..aa64e38 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:53 PDT + 2021-09-10 12:52:19 PDT </div> </div> </body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 1e549ce..aa79f5f 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html
@@ -907,7 +907,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:50 PDT + 2021-09-10 12:52:17 PDT </div> </div> </body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 7f47a66..ec9b69e 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:53 PDT + 2021-09-10 12:52:19 PDT </div> </div> </body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 8dc311b..5d578f7 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:52 PDT + 2021-09-10 12:52:18 PDT </div> </div> </body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 13c7ba7..a0e0233 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html
@@ -930,7 +930,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:52 PDT + 2021-09-10 12:52:18 PDT </div> </div> </body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index dd5d26c..6a8b6e0 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:51 PDT + 2021-09-10 12:52:18 PDT </div> </div> </body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 809616e..6a5f599 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:51 PDT + 2021-09-10 12:52:17 PDT </div> </div> </body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 24aba46..eabf74d 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-09-08 14:21:51 PDT + 2021-09-10 12:52:17 PDT </div> </div> </body>
diff --git a/pretty-options.txt b/pretty-options.txt index 27ddaf8..b3af850 100644 --- a/pretty-options.txt +++ b/pretty-options.txt
@@ -33,14 +33,16 @@ used together. --encoding=<encoding>:: - The commit objects record the encoding used for the log message + Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. For non plumbing commands this defaults to UTF-8. Note that if an object claims to be encoded in `X` and we are outputting in `X`, we will output the object verbatim; this means that invalid sequences in the original - commit may be copied to the output. + commit may be copied to the output. Likewise, if iconv(3) fails + to convert the commit, we will output the original object + verbatim, along with a warning. --expand-tabs=<n>:: --expand-tabs::